package com.yunxi.vehicle.service;

import com.github.pagehelper.PageInfo;
import com.yunxi.core.web.LoginInfo;
import com.yunxi.vehicle.pojo.VehicleSpectrumReqVO;
import com.yunxi.vehicle.pojo.VehicleSpectrumRespVO;
import com.yunxi.vehicle.pojo.VehicleSpectrumVO;

import java.lang.reflect.InvocationTargetException;
import java.util.List;

/**
 * <p>
 * 生产车型型谱 服务类
 * </p>
 *
 * @author 
 * @since 2019-05-16
 */
public interface VehicleSpectrumDubboService {

    Object findTreeList() throws NoSuchMethodException, IllegalAccessException, InvocationTargetException;

    Object pageByVo(VehicleSpectrumVO vehicleSpectrum, Integer pageNum, Integer pageSize);

    void removeById(String productId);

    void saveOrUpdate(VehicleSpectrumVO vehicleSpectrum);

    Object getById(String productId);

    Object treeAlias() throws NoSuchMethodException, IllegalAccessException, InvocationTargetException;

    Object treeFull() throws NoSuchMethodException, IllegalAccessException, InvocationTargetException;

    VehicleSpectrumVO loadByNodeCode(String nodeCode);

    Object findTreeList(LoginInfo loginInfo) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException;

    PageInfo<VehicleSpectrumRespVO> queryVehicleSpectrumByApp(VehicleSpectrumReqVO vo, Integer pageNum, Integer pageSize);

    List<VehicleSpectrumRespVO> queryVehicleSpectrumByApp(VehicleSpectrumReqVO vo);

    List<VehicleSpectrumRespVO> queryVehicleSpectrumByAppLast(VehicleSpectrumReqVO vo);

    Object findTreeList(String partnerCode) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException;
}
